/**
 * 保留小数
 * @param num 数字
 * @param scale 保留位数
 * @return {*}
 */
var round = function (num, scale) {
    //判断数字有几位小数
    function lengthScale(lenNum) {
        if (!lenNum.toString().split(".")[1]) {
            return 0;
        } else {
            return lenNum.toString().split(".")[1].length;
        }
    }

    //判断是否为数字
    if (isNaN(num)) {
        return;
    }

    //不需要省略小数
    if (lengthScale(num) <= scale) {
        return num;
    }

    //解决JS计算bug
    if (lengthScale(num) > 8 && scale != 8) {
        var n8 = round(num, 8);
        return round(n8, scale);
    }

    var scaleAdapter = Math.pow(10, scale);
    return Math.round(num * scaleAdapter) / scaleAdapter;
}

var tax = {
    /**
     * 获取含税价
     * @param NotIncludingTaxPrice 不含税价
     * @param TaxRate  税率（此处传入的税率必须是百分比，例如：17%）
     * @return {*}
     */
    getIncludingTaxPrice: function (NotIncludingTaxPrice, TaxRate) {
        return  NotIncludingTaxPrice * (1 + TaxRate * 0.01);
    },
    /**
     * 获取不含税价
     * @param IncludingTaxPrice 含税价
     * @param TaxRate 税率 （此处传入的税率必须是百分比，例如：17%）
     * @return {Number}
     */
    getNotIncludingTaxPrice: function (IncludingTaxPrice, TaxRate) {
        return  IncludingTaxPrice / (1 + TaxRate * 0.01);
    },
    /**
     *   获取税率
     * @param NotIncludingTaxPrice 不含税价
     * @param IncludingTaxPrice   含税价
     * @return {String}
     */
    getTaxRate: function (NotIncludingTaxPrice, IncludingTaxPrice) {
        return  (Math.round(((IncludingTaxPrice / NotIncludingTaxPrice) - 1) * 10000) / 100.00); //小数点后两位百分比
    }
}






